#include<cstdio>
#include<cstring>
const int maxn=10001;
int f[maxn],p[maxn];
int count=0;
bool prim[maxn];
int main()
{
	memset(prim,1,sizeof(prim));
	prim[0]=prim[1]=0;
	for(int i=2;i<maxn;i++)
		if(prim[i])
		{
			p[++count]=i;
			for(int j=i*i;j<maxn;j+=i)
				prim[j]=0;
		}
	memset(f,0,sizeof(f));
	for(int i=1;i<=count;i++)
	{
		int s=0;
		for(int j=1;j<=i;j++)
			s+=p[j];
		if(s>=maxn)break;
		f[s]++;
		for(int j=i+1;j<=count;j++)
		{
			s-=p[j-i];
			s+=p[j];
			if(s>=maxn)break;
			f[s]++;
		}
	}
	int n;
	while(scanf("%d",&n)&&n)
	  printf("%d\n",f[n]);
	return 0;
}
	

